﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Contract.Business.Entity;
using Generic.Data.Entity;

namespace DataEntity
{
    //Criado por : Gustavo
    //Data       : 11/26/2011 12:44:45 AM
    public partial class DEVendaItem : IDataEntity<BEVendaItem>
    {
        #region IDataEntity<BEVendaItem> Members

        public BEVendaItem ConvertToBE(int rel)
        {
            try
            {
                BEVendaItem entidade = new BEVendaItem();

                entidade.Codigo = this._Codigo;
                entidade.CodigoProduto = this._CodigoProduto;
                entidade.CodigoTamanho = this._CodigoTamanho;
                if(this._CodigoProdutoMetade.HasValue)
                    entidade.CodigoProdutoMetade = this._CodigoProdutoMetade.Value;
                entidade.CodigoVenda = this._CodigoVenda;
                entidade.ValorUnitario = this._ValorUnitario;
                entidade.Quantidade = this._Quantidade;
                if(this._Desconto.HasValue)
                    entidade.Desconto = this._Desconto.Value;
                entidade.ValorTotal = this._ValorTotal;
                entidade.Borda = this._Borda;
                entidade.TipoBorda = this._TipoBorda;
                entidade.Observacao = this._Observacao;
                entidade.Cupom = this._Cupom;

                if (this.TBProduto != null)
                    entidade.Produto = this.TBProduto.ConvertToBE(rel - 1);

                if (this.DEProduto != null)
                    entidade.ProdutoMetade = this.DEProduto.ConvertToBE(rel - 1);

                if(this.DEVenda != null)
                entidade.Venda = this.DEVenda.ConvertToBE(rel - 1);

                if(this.DETamanho != null)
                entidade.Tamanho = this.DETamanho.ConvertToBE(rel - 1);

                return entidade;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void ConvertFromBE(BEVendaItem entity)
        {
            try
            {
                this._Codigo = entity.Codigo;
                this._CodigoTamanho = entity.CodigoTamanho;
                this._CodigoProduto = entity.CodigoProduto;
                if (entity.CodigoProdutoMetade > 0)
                    this._CodigoProdutoMetade = entity.CodigoProdutoMetade;
                else
                    this._CodigoProdutoMetade = null;
                this._CodigoVenda = entity.CodigoVenda;
                this._ValorUnitario = entity.ValorUnitario;
                this._Quantidade = entity.Quantidade;
                this._Desconto = entity.Desconto;
                this._ValorTotal = entity.ValorTotal;
                this._Borda = entity.Borda;
                this._TipoBorda = entity.TipoBorda;
                this._Cupom = entity.Cupom;

                if (!String.IsNullOrEmpty(entity.Observacao))
                    this._Observacao = entity.Observacao;
            }
            catch (Exception)
            {
                throw;
            }
        }

        #endregion
    }
}
